package com.cg.asm.body.service.roles;

import com.cg.asm.body.domain.vo.roles.RoleFunPointsVO;
import com.cg.asm.body.domain.vo.roles.RoleFunTreeVO;
import com.cg.asm.body.domain.vo.roles.RoleFunVO;

import java.util.List;

public interface IRoleFunService {


    /**
     * 根据角色Id获取功能清单编码
     *
     * @param roleId
     * @return
     */
    List<String> getRoleFunListCodes(String roleId);

    /**
     * 保存功能清单信息
     *
     * @param roleFunVO
     */
    void saveRoleMenu(RoleFunVO roleFunVO);

    /**
     * 获取功能清单树信息
     *
     * @return
     */
    List<RoleFunTreeVO> getMenuTreeData();

    /**
     * 根据菜单编码获取所有可分配的功能点信息
     *
     * @param funListCode
     * @return
     */
    List<RoleFunPointsVO> getMenuPointsData(String funListCode);

    /**
     * 根据角色Id和功能清单编码获取选中功能点
     *
     * @param roleId
     * @param funListCode
     * @return
     */
    List<String> getRoleFunPointsCode(String roleId, String funListCode);

    /**
     * 还原功能点默认值
     *
     * @param funListCode
     * @return
     */
    List<String> restorePointsDefaults(String funListCode);
}
